home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992…ugust: Hack to the Future / ADC Developer CD (1992-08) (''Hack To The Future'')_iso / Dev.CD 199208.iso / Periodicals / develop / develop 11 code / The NetWork Project / ReadMe < prev   
Encoding:
Text File  |  1992-07-15  |  12.7 KB  |  324 lines  |  [TEXT/ttxt]

  1. *******************************************************************
  2. NetWork is a project in distributed computing. The goal of the 
  3. project is to produce a system independent implementation model of 
  4. the communications and management code enabling a developer to 
  5. investigate or use asynchronous distributed computing techniques. 
  6. An implementation of neural networks, the "Spinning Brain", serves 
  7. as test application.
  8.  
  9. Copyright 1989-1991 The NetWork Project, StatLab Heidelberg
  10. Copyright 1989-1991 Günther Sawitzki, Heidelberg
  11.                Reimer Kühn, Heidelberg
  12.                Joachim Lindenberg, Karlsruhe
  13. All rights reserved
  14.  
  15. This is the NetWork Project distribution package. 
  16. - Version 1.2 or higher -
  17.  
  18. All documentation files of this distribution package are spooled 
  19. with LinkSaver 6.0.1 for US letter format. You can read it using 
  20. AppleLink or SuperGlue.
  21.  
  22. *******************************************************************
  23. if you have developed your own software using versions of NetWork
  24. before 1.1, you will need to adapt your code to the newer version.
  25.  
  26.             *** adapt your code and recompile. ***
  27.  
  28. For more information, see "Change History" and "Scheduler History".
  29. The Programmer's Guide has been rewritten to reflect the changes.
  30. See NetWork.Canon for a list of changed procedures/functions.
  31.  
  32. To adapt to mere name changes, you can use the file NetWork.Canon
  33. in NetWork Programmer's Stuff.
  34. *******************************************************************
  35.         
  36. Changes since 1.2b4:
  37. 1.2.3 (NetWork Processor 1.2.3) released June 19th, 1991
  38.  
  39. 1.2.2 
  40. NetSim rewritten to align with Random&Template 4.6 
  41.  
  42. 1.2.1 Minor fixes
  43. 1.2 (NetWork Processor 1.2.3) released Oct. 15th, 1991
  44.  
  45. 1.2b12 (NetWork Processor 1.2b6)
  46. Removed ExitNetWork and NLExit. These calls are no longer 
  47. necessary and are not supported.
  48.  
  49. Modified NLNext to be fail-safer when it is called, but 
  50. the lookup system has not been initialized. Could lead to crashes
  51. in earlier versions if the NetWork porcessor was not installed
  52. correctly.
  53.  
  54. 1.2b11
  55. Added NetSim (with source code) as an example of a full 
  56. Application using NetWork.
  57.  
  58. 1.2b10 (NetWork Processor 1.2b5)
  59. ReadWritePatch fails gracefully if MFS disks are accessed (no crash, 
  60. but file information cannot be obtained). 
  61. Modified several Str31 declarations to Str255 in order to avoid 
  62. problems with outdated (MFS) and forthcoming file systems using 
  63. longer names. Added a local variable in LaunchLocalApplication in 
  64. order to preserve the caller´s file name (which was modified if 
  65. aliases with different names were used).
  66.  
  67. 1.2b9 released July 1st, 1991
  68. 1.2b4-1.2b8 internal versions
  69.  
  70. *******************************************************************
  71. For those in a hurry
  72.  
  73. Services and facilities provided by NetWork
  74. • management of asynchronous distributed computing
  75. • idle time computing
  76. • inter-application communication
  77. • remote launching
  78. • transport shielding 
  79. • low level log file support
  80.  
  81. System requirements and restrictions: The Macintosh version of 
  82. NetWork runs on Macintosh Plus or higher, MacOs 6.0x or better with 
  83. Multifinder, or System 7, or A/UX 2.0.1 or better. 
  84. The basic version of NetWork can make use of any AppleTalk implemen-
  85. tation, but only addresses in the local zone will be used.  
  86.  
  87. *******************************************************************
  88. We are very sorry to inform you that NetWork is a real world 
  89. software project. 
  90.  
  91. The available software may be outdated with respect to our present 
  92. ideas. 
  93. The available documentation may be outdated with respect to our 
  94. present software.
  95. Your software may be outdated with respect to our software. 
  96.  
  97. Apple's Software may be outdated with respect to...
  98.  
  99. We are very sorry to confront you with these aspects of 
  100. asynchronicity.
  101.  
  102. The recent accessible software is available via anonymous ftp from
  103.         statlab.uni-heidelberg.de   <129.206.113.100>
  104. on internet. 
  105.  
  106. The recent accesible documentation can be read from the interfaces.
  107.  
  108. The NetWork software was developed and tested with the materials 
  109. provided on ETO 3, MacOS 6.0.5, System 7.0b4, 7.0 golden, and 
  110. A/UX 2.0.1. A/UX 2.0.1 must be patched to allow for a static socket #40. 
  111. Patch instructions are provided with NetWork.
  112.  
  113. UDPTransport was developed with the material on MacTCP Developer 
  114. Disk 1.0.1
  115.  
  116. *******************************************************************
  117. Getting started: Move the file "NetWork Processor" and the folder 
  118. "NetWork Tools" into your system folder, and into that of any 
  119. Macintosh on your AppleTalk network cooperating on experiments 
  120. using the NetWork softeware. Restart all Macintoshes which are to 
  121. cooperate. For computers other than the Macintosh, follow the 
  122. installation instructions specific to that machine to install a 
  123. NetWork Processor. You can now run the sample program. 
  124. See "How to use Spinning Brain…" for details. 
  125.  
  126. To develop your own software to experiment with, you have to use 
  127. unit NetWorkLookup from file NetWorkLookup.p, 
  128.      NetWork from file NetWork.p, 
  129. and link with NetWorkLib.o. 
  130. You can make use of the objects supplied in SchedulerUnit.p  which 
  131. provide high-level access to the NetWork message system.
  132.  
  133. To use additional examples documented in the NetWork Programmer's 
  134. Guide, move the folders "NetWork Idle Tools" and "NetWork Startup 
  135. Tools" to your system folder.
  136.  
  137. MPW commands which might help you to install the NetWork software 
  138. and tools are given below. Please send all bug reports, requests, 
  139. comments to
  140.  
  141. G. Sawitzki
  142. StatLab Heidelberg
  143. Im Neuenheimer Feld 294
  144. D 6900 Heidelberg
  145.  
  146. AppleLink:GER.XUU0003
  147. Internet: network@statlab.uni-heidelberg.de
  148. Bitnet:   J40@DHDURZ1
  149.  
  150. To support debugging and monitoring, please create a folder
  151. "NetWork Logs" in your system folder and switch on the "Log errors…"
  152. option in the NetWork Processor control panel entry. 
  153. This will create log files. The log files are not truncated 
  154. automatically in the beta version. Please check their sizes 
  155. regularly if logging is switched on, and include a copy of your log 
  156. file when reporting bugs.
  157.  
  158.  
  159. ###################################################################
  160. ###################################################################
  161. ## These lines may help you to install the NetWork software using MPW.
  162. ## You will be asked to select the source directory (the distribution 
  163. ## disk). Next, NetWork will be installed in default locations.
  164. ( #<- to install NetWork, double click on this bracket & press enter
  165. ##
  166. ## Try to identify environment: Where is the original material ?
  167. (Evaluate "{active}" =~ /(≈)®1:(≈)®2/ )>dev:null
  168. set NetWorkSource "{®1}:" # source = directory this file resides in.
  169. open "{Worksheet}"  
  170. (
  171. set NetWorkSource `GetFileName -b Select -d "{NetWorkSource}"`
  172.  
  173. echo -n '# installing the NetWork processor in '
  174. set NetWorkControlPanel "{systemfolder}"        # default: system 6
  175. set NetWorkControlPanel `exists "{systemfolder}Control Panels:"`  >dev:null
  176. quote "{NetWorkControlPanel}"
  177. duplicate "{NetWorkSource}NetWork Processor" "{NetWorkControlPanel}"
  178. Unset NetWorkControlPanel
  179.  
  180. echo -n '# installing compiled examples in ';quote "{systemfolder}"
  181. duplicate "{NetWorkSource}Examples (For System Folder):"≈ "{SystemFolder}"
  182.  
  183. echo -n '# installing the NetWork Look in '
  184. set NetWorkChooser      "{systemfolder}"        # default: system 6
  185. set NetWorkChooser       `exists "{systemfolder}Extensions:"` >dev:null
  186. quote "{NetWorkChooser}"
  187.  if "{NetWorkChooser}" != "{SystemFolder}"
  188.    move "{SystemFolder}NetWork Look" "{NetWorkChooser}" 
  189.  end
  190. Unset NetWorkChooser
  191.  
  192. echo '# installing libraries and interfaces'
  193.  duplicate "{NetWorkSource}NetWork Programmer's Stuff:"NetWorkLib.o "{Libraries}"
  194.  duplicate "{NetWorkSource}NetWork Programmer's Stuff:"NetWork.p    "{Pinterfaces}"
  195.  duplicate "{NetWorkSource}NetWork Programmer's Stuff:"NetWorkLookup.p     "{Pinterfaces}"
  196.  duplicate "{NetWorkSource}NetWork Programmer's Stuff:"NetWork.h    "{Cincludes}"
  197.  duplicate "{NetWorkSource}NetWork Programmer's Stuff:"SchedulerUnit.p.o "{Libraries}"
  198.  duplicate "{NetWorkSource}NetWork Programmer's Stuff:"SchedulerUnit.p    "{Pinterfaces}"
  199.  
  200. echo '# NetWork installation done'
  201. Unset NetWorkSource 
  202. ) ∑∑ "{Worksheet}"
  203. )
  204.  
  205. ###########################################################################
  206. ***************************************************************************
  207. The NetWork distribution set contains at least:
  208.  
  209. NetWork Processor    control panel extension 
  210. NetWorkLib.o    library file 
  211. NetWork.p    message system interface
  212. NetWorkLookup.p    lookup system interface
  213. SchedulerUnit.p    task scheduling
  214.  
  215. Documentation:
  216. ==============
  217. How to use NetWork Processor    user's guide to the control panel extension
  218. NetWork Programmer's Guide    general information and programmer's guide
  219. The NetWork Project    background about the NetWork project
  220. NetWork Communications    background info about the communication model
  221. NetWork Examples    additional information about examples.
  222.     
  223. How to use "Spinning Brain"    user's guide to the sample program
  224. Spinning Brain    background information about "Spinning Brain" 
  225.  
  226.  
  227. ===========================================
  228. = Known Problems, Bugs, Restrictions etc: =
  229. ===========================================
  230.  
  231. =============================
  232. = General Problems and Bugs =
  233. =============================
  234. A bug in Quickmail Init has reported on a Macintosh si which shows may show up
  235. if NetWork is installed. If Quickmail Init crashes, try loading it before Net-
  236. Work by renaming it AQuickmail Init.
  237. Changes in Apple's MPW interface are generally not well documented.
  238. You may need to adapt to the interface files if using MPW versions
  239. other than MPW QR3.
  240. If a remote process exits, the currently active process may receive a chield
  241. died event. Some versions of the Backgrounder do not handle the process id 
  242. gracefully and will call debugger. Workaround: if your debugger crashes, set
  243. the AcceptChildDiedEvent in the Backgrounder's size resource to false.
  244.  
  245. Documentation:
  246. ==============
  247.  
  248. Terminology needs to be reviewed. Part of the documentation may still
  249. reflect earlier versions of the product (e.g. Spinning Brain).
  250.  
  251. NetWork Transport documentation is outdated. 
  252. An updated version is available upon request.
  253.  
  254. Scheduler:
  255. ==========
  256.  
  257. Version later than 0.9a6 allows an adaptive scheduler. 
  258. Spinning Brain makes use of this.
  259. Interface subject to change. 
  260.  
  261. NetWorkLib.o & NetWork.p:
  262. ========================
  263.  
  264. A compiled version of NetWork.p and NetWorkLookup.p is contained in 
  265. NetWorkLib.o. The Scheduler is not not contained in NetWorkLib.o and
  266. must be compiled and linked explicitely with your program.
  267.  
  268. Passing MsgTrp as a pointer causes problems if the transport system is 
  269. removed. On the other hand, passing a signature requires to walk the 
  270. queue of transports for every send, and also requires to add a field 
  271. that caches the MsgTrp pointer for use at IRQ time. This should be 
  272. documented in the NetWork Programmer´s Guide or a forthcoming document 
  273. about writing own transport systems.
  274.  
  275. Ticks are inaccurate for large message transfers via LocalTalk. The 
  276. maximum ATP response packets take longer to transfer than a tick, 
  277. therefore ticks WILL be lost (times reported for message transfer are 
  278. above the actual bandwidth of the media (up to 100KB/s !!)
  279.  
  280. NetWork Processor:
  281. ==================
  282.  
  283. NetWork Processor does not return any NetWork events if Multifinder 
  284. is not loaded. Starting with 1.1a28, NetWork Processor returns an 
  285. error if an application tries to install an event code. NetWork 
  286. Processor does not return an error (at least at present) if the 
  287. application does not ask for events. This should be documented
  288. in the NetWork Programmer´s Guide.
  289.  
  290. Spinning Brain:
  291. ===============
  292.  
  293. When distributed computing modes are used (asynchronous or genetic), a change
  294. bar is also shown if no remote station has been found and a task has been 
  295. redirected to the local station. (Make different colour in next version!)
  296. Observe: Overlap observer only gives overlaps to first picture shown in the 
  297. album (bottom left picture).
  298. Observe: Copy&Clear not implemented for observers.
  299. Ctl menu: genetic needs evolutionary jumps.
  300. Neural net menu: only LF net, random steps, is activated.
  301. Handling of large albums unclear (restrict ? grow ?).
  302.  
  303. The default error handler of the Scheduler uses the debugger. Please
  304. note the calling chain for error reports.
  305. The NetWork Processor spare flag is used to control debugging reports.
  306.  
  307. Other Examples:
  308. ===============
  309.  
  310. - more documentation to come -
  311.  
  312. =============================================
  313. = Open design issues (comments are welcome) =
  314. =============================================
  315.  
  316. An additional attribute (MsgNeedsAcknowledgement) may be introduced. Having
  317. at least knowledge about succesful forwarding seems to be a common request.
  318. If introduced, the acknowledgement package will contain information about
  319. the expected time of completion if this can be estimated by the recipient, 
  320. for use with adaptive scheduler cohandlers. Drawback: this is against the
  321. purity of the idea to provide a minimal design & system.
  322.  
  323.  
  324.